home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / kuaqe.zip / PLAYER.QC < prev    next >
Text File  |  1996-09-27  |  19KB  |  684 lines

  1.  
  2. void() bubble_bob;
  3.  
  4. /*
  5. ==============================================================================
  6.  
  7. PLAYER
  8.  
  9. ==============================================================================
  10. */
  11.  
  12. $cd /raid/quake/id1/models/player_4
  13. $origin 0 -6 24
  14. $base base        
  15. $skin skin
  16.  
  17. //
  18. // running
  19. //
  20. $frame axrun1 axrun2 axrun3 axrun4 axrun5 axrun6
  21.  
  22. $frame rockrun1 rockrun2 rockrun3 rockrun4 rockrun5 rockrun6
  23.  
  24. //
  25. // standing
  26. //
  27. $frame stand1 stand2 stand3 stand4 stand5
  28.  
  29. $frame axstnd1 axstnd2 axstnd3 axstnd4 axstnd5 axstnd6
  30. $frame axstnd7 axstnd8 axstnd9 axstnd10 axstnd11 axstnd12
  31.  
  32.  
  33. //
  34. // pain
  35. //
  36. $frame axpain1 axpain2 axpain3 axpain4 axpain5 axpain6
  37.  
  38. $frame pain1 pain2 pain3 pain4 pain5 pain6
  39.  
  40.  
  41. //
  42. // death
  43. //
  44.  
  45. $frame axdeth1 axdeth2 axdeth3 axdeth4 axdeth5 axdeth6
  46. $frame axdeth7 axdeth8 axdeth9
  47.  
  48. $frame deatha1 deatha2 deatha3 deatha4 deatha5 deatha6 deatha7 deatha8
  49. $frame deatha9 deatha10 deatha11
  50.  
  51. $frame deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8
  52. $frame deathb9
  53.  
  54. $frame deathc1 deathc2 deathc3 deathc4 deathc5 deathc6 deathc7 deathc8
  55. $frame deathc9 deathc10 deathc11 deathc12 deathc13 deathc14 deathc15
  56.  
  57. $frame deathd1 deathd2 deathd3 deathd4 deathd5 deathd6 deathd7
  58. $frame deathd8 deathd9
  59.  
  60. $frame deathe1 deathe2 deathe3 deathe4 deathe5 deathe6 deathe7
  61. $frame deathe8 deathe9
  62.  
  63. //
  64. // attacks
  65. //
  66. $frame nailatt1 nailatt2
  67.  
  68. $frame light1 light2
  69.  
  70. $frame rockatt1 rockatt2 rockatt3 rockatt4 rockatt5 rockatt6
  71.  
  72. $frame shotatt1 shotatt2 shotatt3 shotatt4 shotatt5 shotatt6
  73.  
  74. $frame axatt1 axatt2 axatt3 axatt4 axatt5 axatt6
  75.  
  76. $frame axattb1 axattb2 axattb3 axattb4 axattb5 axattb6
  77.  
  78. $frame axattc1 axattc2 axattc3 axattc4 axattc5 axattc6
  79.  
  80. $frame axattd1 axattd2 axattd3 axattd4 axattd5 axattd6
  81.  
  82.  
  83. /*
  84. ==============================================================================
  85. PLAYER
  86. ==============================================================================
  87. */
  88.  
  89. void() player_run;
  90.  
  91. void()    player_stand1 =[    $axstnd1,    player_stand1    ]
  92. {
  93.     self.weaponframe=0;
  94.     if (self.velocity_x || self.velocity_y)
  95.     {
  96.         self.walkframe=0;
  97.         player_run();
  98.         return;
  99.     }
  100.  
  101.     if (self.weapon == IT_AXE)
  102.     {
  103.         if (self.walkframe >= 12)
  104.             self.walkframe = 0;
  105.         self.frame = $axstnd1 + self.walkframe;
  106.     }
  107.     else
  108.     {
  109.         if (self.walkframe >= 5)
  110.             self.walkframe = 0;
  111.         self.frame = $stand1 + self.walkframe;
  112.     }
  113.     self.walkframe = self.walkframe + 1;    
  114. };
  115.  
  116. void()    player_run =[    $rockrun1,    player_run    ]
  117. {
  118.     self.weaponframe=0;
  119.     if (!self.velocity_x && !self.velocity_y)
  120.     {
  121.         self.walkframe=0;
  122.         player_stand1();
  123.         return;
  124.     }
  125.  
  126.     if (self.weapon == IT_AXE)
  127.     {
  128.         if (self.walkframe == 6)
  129.             self.walkframe = 0;
  130.         self.frame = $axrun1 + self.walkframe;
  131.     }
  132.     else
  133.     {
  134.         if (self.walkframe == 6)
  135.             self.walkframe = 0;
  136.         self.frame = self.frame + self.walkframe;
  137.     }
  138. /*
  139. MOD
  140. Footsteps v0.5
  141. by Brett "Vuh" Wagner
  142. brettw@compumedia.com
  143. comments welcome
  144. MOD
  145. */
  146.       if ((self.speed & FOOTSTEPS_ON))
  147.       {
  148.         if (self.walkframe == 1 || self.walkframe == 4 )
  149.         {
  150.                 if (checkbottom(self) == TRUE)
  151.                 {
  152.                         if (self.waterlevel == 0)
  153.                                 sound (self, CHAN_VOICE, "player/step.wav", 1, ATTN_NORM);
  154.                 }
  155.         }
  156.       }
  157. /*
  158. END MOD
  159. Footsteps v0.5
  160. END MOD
  161. */
  162.     self.walkframe = self.walkframe + 1;
  163. };
  164.  
  165.  
  166. void()    player_shot1 =    [$shotatt1, player_shot2    ] {self.weaponframe=1;
  167. self.effects = self.effects | EF_MUZZLEFLASH;};
  168. void()    player_shot2 =    [$shotatt2, player_shot3    ] {self.weaponframe=2;};
  169. void()    player_shot3 =    [$shotatt3, player_shot4    ] {self.weaponframe=3;};
  170. void()    player_shot4 =    [$shotatt4, player_shot5    ] {self.weaponframe=4;};
  171. void()    player_shot5 =    [$shotatt5, player_shot6    ] {self.weaponframe=5;};
  172. void()    player_shot6 =    [$shotatt6, player_run    ] {self.weaponframe=6;};
  173.  
  174. void()    player_axe1 =    [$axatt1, player_axe2    ] {self.weaponframe=1;};
  175. void()    player_axe2 =    [$axatt2, player_axe3    ] {self.weaponframe=2;};
  176. void()    player_axe3 =    [$axatt3, player_axe4    ] {self.weaponframe=3;W_FireAxe();};
  177. void()    player_axe4 =    [$axatt4, player_run    ] {self.weaponframe=4;};
  178.  
  179. void()    player_axeb1 =    [$axattb1, player_axeb2    ] {self.weaponframe=5;};
  180. void()    player_axeb2 =    [$axattb2, player_axeb3    ] {self.weaponframe=6;};
  181. void()    player_axeb3 =    [$axattb3, player_axeb4    ] {self.weaponframe=7;W_FireAxe();};
  182. void()    player_axeb4 =    [$axattb4, player_run    ] {self.weaponframe=8;};
  183.  
  184. void()    player_axec1 =    [$axattc1, player_axec2    ] {self.weaponframe=1;};
  185. void()    player_axec2 =    [$axattc2, player_axec3    ] {self.weaponframe=2;};
  186. void()    player_axec3 =    [$axattc3, player_axec4    ] {self.weaponframe=3;W_FireAxe();};
  187. void()    player_axec4 =    [$axattc4, player_run    ] {self.weaponframe=4;};
  188.  
  189. void()    player_axed1 =    [$axattd1, player_axed2    ] {self.weaponframe=5;};
  190. void()    player_axed2 =    [$axattd2, player_axed3    ] {self.weaponframe=6;};
  191. void()    player_axed3 =    [$axattd3, player_axed4    ] {self.weaponframe=7;W_FireAxe();};
  192. void()    player_axed4 =    [$axattd4, player_run    ] {self.weaponframe=8;};
  193.  
  194.  
  195. //============================================================================
  196.  
  197. void() player_nail1   =[$nailatt1, player_nail2  ] 
  198. {
  199.     self.effects = self.effects | EF_MUZZLEFLASH;
  200.  
  201.     if (!self.button0)
  202.         {player_run ();return;}
  203.     self.weaponframe = self.weaponframe + 1;
  204.     if (self.weaponframe == 9)
  205.         self.weaponframe = 1;
  206.     SuperDamageSound();
  207.     W_FireSpikes (4);
  208.     self.attack_finished = time + 0.2;
  209. };
  210. void() player_nail2   =[$nailatt2, player_nail1  ]
  211. {
  212.     self.effects = self.effects | EF_MUZZLEFLASH;
  213.  
  214.     if (!self.button0)
  215.         {player_run ();return;}
  216.     self.weaponframe = self.weaponframe + 1;
  217.     if (self.weaponframe == 9)
  218.         self.weaponframe = 1;
  219.     SuperDamageSound();
  220.     W_FireSpikes (-4);
  221.     self.attack_finished = time + 0.2;
  222. };
  223.  
  224. //============================================================================
  225.  
  226. void() player_light1   =[$light1, player_light2  ] 
  227. {
  228.     self.effects = self.effects | EF_MUZZLEFLASH;
  229.  
  230.     if (!self.button0)
  231.         {player_run ();return;}
  232.     self.weaponframe = self.weaponframe + 1;
  233.     if (self.weaponframe == 5)
  234.         self.weaponframe = 1;
  235.     SuperDamageSound();
  236.     W_FireLightning();
  237.     self.attack_finished = time + 0.2;
  238. };
  239. void() player_light2   =[$light2, player_light1  ]
  240. {
  241.     self.effects = self.effects | EF_MUZZLEFLASH;
  242.  
  243.     if (!self.button0)
  244.         {player_run ();return;}
  245.     self.weaponframe = self.weaponframe + 1;
  246.     if (self.weaponframe == 5)
  247.         self.weaponframe = 1;
  248.     SuperDamageSound();
  249.     W_FireLightning();
  250.     self.attack_finished = time + 0.2;
  251. };
  252.  
  253. //============================================================================
  254.  
  255.  
  256. void() player_rocket1   =[$rockatt1, player_rocket2  ] {self.weaponframe=1;
  257. self.effects = self.effects | EF_MUZZLEFLASH;};
  258. void() player_rocket2   =[$rockatt2, player_rocket3  ] {self.weaponframe=2;};
  259. void() player_rocket3   =[$rockatt3, player_rocket4  ] {self.weaponframe=3;};
  260. void() player_rocket4   =[$rockatt4, player_rocket5  ] {self.weaponframe=4;};
  261. void() player_rocket5   =[$rockatt5, player_rocket6  ] {self.weaponframe=5;};
  262. void() player_rocket6   =[$rockatt6, player_run  ] {self.weaponframe=6;};
  263. void(float num_bubbles) DeathBubbles;
  264.  
  265. void() PainSound =
  266. {
  267. local float        rs;
  268.  
  269.     if (self.health < 0)
  270.         return;
  271.  
  272.     if (damage_attacker.classname == "teledeath")
  273.     {
  274.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  275.         return;
  276.     }
  277.  
  278. // water pain sounds
  279.     if (self.watertype == CONTENT_WATER && self.waterlevel == 3)
  280.     {
  281.         DeathBubbles(1);
  282.         if (random() > 0.5)
  283.             sound (self, CHAN_VOICE, "player/drown1.wav", 1, ATTN_NORM);
  284.         else
  285.             sound (self, CHAN_VOICE, "player/drown2.wav", 1, ATTN_NORM);
  286.         return;
  287.     }
  288.  
  289. // slime pain sounds
  290.     if (self.watertype == CONTENT_SLIME)
  291.     {
  292. // FIX ME    put in some steam here
  293.         if (random() > 0.5)
  294.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  295.         else
  296.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  297.         return;
  298.     }
  299.  
  300.     if (self.watertype == CONTENT_LAVA)
  301.     {
  302.         if (random() > 0.5)
  303.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  304.         else
  305.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  306.         return;
  307.     }
  308.  
  309.     if (self.pain_finished > time)
  310.     {
  311.         self.axhitme = 0;
  312.         return;
  313.     }
  314.     self.pain_finished = time + 0.5;
  315.  
  316. // don't make multiple pain sounds right after each other
  317.  
  318. // ax pain sound
  319.     if (self.axhitme == 1)
  320.     {
  321.         self.axhitme = 0;
  322.         sound (self, CHAN_VOICE, "player/axhit1.wav", 1, ATTN_NORM);
  323.         return;
  324.     }
  325.     
  326.  
  327.     rs = rint((random() * 5) + 1);
  328.  
  329.     self.noise = "";
  330.     if (rs == 1)
  331.         self.noise = "player/pain1.wav";
  332.     else if (rs == 2)
  333.         self.noise = "player/pain2.wav";
  334.     else if (rs == 3)
  335.         self.noise = "player/pain3.wav";
  336.     else if (rs == 4)
  337.         self.noise = "player/pain4.wav";
  338.     else if (rs == 5)
  339.         self.noise = "player/pain5.wav";
  340.     else
  341.         self.noise = "player/pain6.wav";
  342.  
  343.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NORM);
  344.     return;
  345. };
  346.  
  347. void()    player_pain1 =    [    $pain1,    player_pain2    ] {PainSound();self.weaponframe=0;};
  348. void()    player_pain2 =    [    $pain2,    player_pain3    ] {};
  349. void()    player_pain3 =    [    $pain3,    player_pain4    ] {};
  350. void()    player_pain4 =    [    $pain4,    player_pain5    ] {};
  351. void()    player_pain5 =    [    $pain5,    player_pain6    ] {};
  352. void()    player_pain6 =    [    $pain6,    player_run    ] {};
  353.  
  354. void()    player_axpain1 =    [    $axpain1,    player_axpain2    ] {PainSound();self.weaponframe=0;};
  355. void()    player_axpain2 =    [    $axpain2,    player_axpain3    ] {};
  356. void()    player_axpain3 =    [    $axpain3,    player_axpain4    ] {};
  357. void()    player_axpain4 =    [    $axpain4,    player_axpain5    ] {};
  358. void()    player_axpain5 =    [    $axpain5,    player_axpain6    ] {};
  359. void()    player_axpain6 =    [    $axpain6,    player_run    ] {};
  360.  
  361. void() player_pain =
  362. {
  363.     if (self.weaponframe)
  364.         return;
  365.  
  366.     if (self.invisible_finished > time)
  367.         return;        // eyes don't have pain frames
  368.  
  369.     if (self.weapon == IT_AXE)
  370.         player_axpain1 ();
  371.     else
  372.         player_pain1 ();
  373. };
  374.  
  375. void() player_diea1;
  376. void() player_dieb1;
  377. void() player_diec1;
  378. void() player_died1;
  379. void() player_diee1;
  380. void() player_die_ax1;
  381.  
  382. void() DeathBubblesSpawn =
  383. {
  384. local entity    bubble;
  385.     if (self.owner.waterlevel != 3)
  386.         return;
  387.     bubble = spawn();
  388.     setmodel (bubble, "progs/s_bubble.spr");
  389.     setorigin (bubble, self.owner.origin + '0 0 24');
  390.     bubble.movetype = MOVETYPE_NOCLIP;
  391.     bubble.solid = SOLID_NOT;
  392.     bubble.velocity = '0 0 15';
  393.     bubble.nextthink = time + 0.5;
  394.     bubble.think = bubble_bob;
  395.     bubble.classname = "bubble";
  396.     bubble.frame = 0;
  397.     bubble.cnt = 0;
  398.     setsize (bubble, '-8 -8 -8', '8 8 8');
  399.     self.nextthink = time + 0.1;
  400.     self.think = DeathBubblesSpawn;
  401.     self.air_finished = self.air_finished + 1;
  402.     if (self.air_finished >= self.bubble_count)
  403.         remove(self);
  404. };
  405.  
  406. void(float num_bubbles) DeathBubbles =
  407. {
  408. local entity    bubble_spawner;
  409.     
  410.     bubble_spawner = spawn();
  411.     setorigin (bubble_spawner, self.origin);
  412.     bubble_spawner.movetype = MOVETYPE_NONE;
  413.     bubble_spawner.solid = SOLID_NOT;
  414.     bubble_spawner.nextthink = time + 0.1;
  415.     bubble_spawner.think = DeathBubblesSpawn;
  416.     bubble_spawner.air_finished = 0;
  417.     bubble_spawner.owner = self;
  418.     bubble_spawner.bubble_count = num_bubbles;
  419.     return;
  420. };
  421.  
  422.  
  423. void() DeathSound =
  424. {
  425. local float        rs;
  426.  
  427.     // water death sounds
  428.     if (self.waterlevel == 3)
  429.     {
  430.         DeathBubbles(20);
  431.         sound (self, CHAN_VOICE, "player/h2odeath.wav", 1, ATTN_NONE);
  432.         return;
  433.     }
  434.     
  435.     rs = rint ((random() * 4) + 1);
  436.     if (rs == 1)
  437.         self.noise = "player/death1.wav";
  438.     if (rs == 2)
  439.         self.noise = "player/death2.wav";
  440.     if (rs == 3)
  441.         self.noise = "player/death3.wav";
  442.     if (rs == 4)
  443.         self.noise = "player/death4.wav";
  444.     if (rs == 5)
  445.         self.noise = "player/death5.wav";
  446.  
  447.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NONE);
  448.     return;
  449. };
  450.  
  451.  
  452. void() PlayerDead =
  453. {
  454.     self.nextthink = -1;
  455. // allow respawn after a certain time
  456.     self.deadflag = DEAD_DEAD;
  457. };
  458.  
  459. vector(float dm) VelocityForDamage =
  460. {
  461.     local vector v;
  462.  
  463.     v_x = 100 * crandom();
  464.     v_y = 100 * crandom();
  465.     v_z = 200 + 100 * random();
  466.  
  467.     if (dm > -50)
  468.     {
  469. //        dprint ("level 1\n");
  470.         v = v * 0.7;
  471.     }
  472.     else if (dm > -200)
  473.     {
  474. //        dprint ("level 3\n");
  475.         v = v * 2;
  476.     }
  477.     else
  478.         v = v * 10;
  479.  
  480.     return v;
  481. };
  482.  
  483. void(string gibname, float dm) ThrowGib =
  484. {
  485.     local    entity new;
  486.  
  487.     new = spawn();
  488.     new.origin = self.origin;
  489.     setmodel (new, gibname);
  490.     setsize (new, '0 0 0', '0 0 0');
  491.     new.velocity = VelocityForDamage (dm);
  492.     new.movetype = MOVETYPE_BOUNCE;
  493.     new.solid = SOLID_NOT;
  494.     new.avelocity_x = random()*600;
  495.     new.avelocity_y = random()*600;
  496.     new.avelocity_z = random()*600;
  497.     new.think = SUB_Remove;
  498.     new.ltime = time;
  499.     new.nextthink = time + 10 + random()*10;
  500.     new.frame = 0;
  501.     new.flags = 0;
  502. };
  503.  
  504. void(string gibname, float dm) ThrowHead =
  505. {
  506.     setmodel (self, gibname);
  507.     self.frame = 0;
  508.     self.nextthink = -1;
  509.     self.movetype = MOVETYPE_BOUNCE;
  510.     self.takedamage = DAMAGE_NO;
  511.     self.solid = SOLID_NOT;
  512.     self.view_ofs = '0 0 8';
  513.     setsize (self, '-16 -16 0', '16 16 56');
  514.     self.velocity = VelocityForDamage (dm);
  515.     self.origin_z = self.origin_z - 24;
  516.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  517.     self.avelocity = crandom() * '0 600 0';
  518. };
  519.  
  520.  
  521. void() GibPlayer =
  522. {
  523.     ThrowHead ("progs/h_player.mdl", self.health);
  524.     ThrowGib ("progs/gib1.mdl", self.health);
  525.     ThrowGib ("progs/gib2.mdl", self.health);
  526.     ThrowGib ("progs/gib3.mdl", self.health);
  527.  
  528.     self.deadflag = DEAD_DEAD;
  529.  
  530.     if (damage_attacker.classname == "teledeath")
  531.     {
  532.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  533.         return;
  534.     }
  535.  
  536.     if (damage_attacker.classname == "teledeath2")
  537.     {
  538.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  539.         return;
  540.     }
  541.         
  542.     if (random() < 0.5)
  543.         sound (self, CHAN_VOICE, "player/gib.wav", 1, ATTN_NONE);
  544.     else
  545.         sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NONE);
  546. };
  547.  
  548. void() PlayerDie =
  549. {
  550.     local    float    i;
  551.     
  552.     self.items = self.items - (self.items & IT_INVISIBILITY);
  553.     self.invisible_finished = 0;    // don't die as eyes
  554.     self.invincible_finished = 0;
  555.     self.super_damage_finished = 0;
  556.     self.radsuit_finished = 0;
  557.     self.modelindex = modelindex_player;    // don't use eyes
  558.  
  559.     if (deathmatch || coop)
  560.         DropBackpack();
  561.     
  562.     self.weaponmodel="";
  563.     self.view_ofs = '0 0 -8';
  564.     self.deadflag = DEAD_DYING;
  565.     self.solid = SOLID_NOT;
  566.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  567.     self.movetype = MOVETYPE_TOSS;
  568.     if (self.velocity_z < 10)
  569.         self.velocity_z = self.velocity_z + random()*300;
  570.  
  571.     if (self.health < -40)
  572.     {
  573.         GibPlayer ();
  574.         return;
  575.     }
  576.  
  577.     DeathSound();
  578.     
  579.     self.angles_x = 0;
  580.     self.angles_z = 0;
  581.     
  582.     if (self.weapon == IT_AXE)
  583.     {
  584.         player_die_ax1 ();
  585.         return;
  586.     }
  587.     
  588.     i = cvar("temp1");
  589.     if (!i)
  590.         i = 1 + floor(random()*6);
  591.     
  592.     if (i == 1)
  593.         player_diea1();
  594.     else if (i == 2)
  595.         player_dieb1();
  596.     else if (i == 3)
  597.         player_diec1();
  598.     else if (i == 4)
  599.         player_died1();
  600.     else
  601.         player_diee1();
  602.  
  603. };
  604.  
  605. void() set_suicide_frame =
  606. {    // used by klill command and diconnect command
  607.     if (self.model != "progs/player.mdl")
  608.         return;    // allready gibbed
  609.     self.frame = $deatha11;
  610.     self.solid = SOLID_NOT;
  611.     self.movetype = MOVETYPE_TOSS;
  612.     self.deadflag = DEAD_DEAD;
  613.     self.nextthink = -1;
  614. };
  615.  
  616.  
  617. void()    player_diea1    =    [    $deatha1,    player_diea2    ] {};
  618. void()    player_diea2    =    [    $deatha2,    player_diea3    ] {};
  619. void()    player_diea3    =    [    $deatha3,    player_diea4    ] {};
  620. void()    player_diea4    =    [    $deatha4,    player_diea5    ] {};
  621. void()    player_diea5    =    [    $deatha5,    player_diea6    ] {};
  622. void()    player_diea6    =    [    $deatha6,    player_diea7    ] {};
  623. void()    player_diea7    =    [    $deatha7,    player_diea8    ] {};
  624. void()    player_diea8    =    [    $deatha8,    player_diea9    ] {};
  625. void()    player_diea9    =    [    $deatha9,    player_diea10    ] {};
  626. void()    player_diea10    =    [    $deatha10,    player_diea11    ] {};
  627. void()    player_diea11    =    [    $deatha11,    player_diea11 ] {PlayerDead();};
  628.  
  629. void()    player_dieb1    =    [    $deathb1,    player_dieb2    ] {};
  630. void()    player_dieb2    =    [    $deathb2,    player_dieb3    ] {};
  631. void()    player_dieb3    =    [    $deathb3,    player_dieb4    ] {};
  632. void()    player_dieb4    =    [    $deathb4,    player_dieb5    ] {};
  633. void()    player_dieb5    =    [    $deathb5,    player_dieb6    ] {};
  634. void()    player_dieb6    =    [    $deathb6,    player_dieb7    ] {};
  635. void()    player_dieb7    =    [    $deathb7,    player_dieb8    ] {};
  636. void()    player_dieb8    =    [    $deathb8,    player_dieb9    ] {};
  637. void()    player_dieb9    =    [    $deathb9,    player_dieb9    ] {PlayerDead();};
  638.  
  639. void()    player_diec1    =    [    $deathc1,    player_diec2    ] {};
  640. void()    player_diec2    =    [    $deathc2,    player_diec3    ] {};
  641. void()    player_diec3    =    [    $deathc3,    player_diec4    ] {};
  642. void()    player_diec4    =    [    $deathc4,    player_diec5    ] {};
  643. void()    player_diec5    =    [    $deathc5,    player_diec6    ] {};
  644. void()    player_diec6    =    [    $deathc6,    player_diec7    ] {};
  645. void()    player_diec7    =    [    $deathc7,    player_diec8    ] {};
  646. void()    player_diec8    =    [    $deathc8,    player_diec9    ] {};
  647. void()    player_diec9    =    [    $deathc9,    player_diec10    ] {};
  648. void()    player_diec10    =    [    $deathc10,    player_diec11    ] {};
  649. void()    player_diec11    =    [    $deathc11,    player_diec12    ] {};
  650. void()    player_diec12    =    [    $deathc12,    player_diec13    ] {};
  651. void()    player_diec13    =    [    $deathc13,    player_diec14    ] {};
  652. void()    player_diec14    =    [    $deathc14,    player_diec15    ] {};
  653. void()    player_diec15    =    [    $deathc15,    player_diec15 ] {PlayerDead();};
  654.  
  655. void()    player_died1    =    [    $deathd1,    player_died2    ] {};
  656. void()    player_died2    =    [    $deathd2,    player_died3    ] {};
  657. void()    player_died3    =    [    $deathd3,    player_died4    ] {};
  658. void()    player_died4    =    [    $deathd4,    player_died5    ] {};
  659. void()    player_died5    =    [    $deathd5,    player_died6    ] {};
  660. void()    player_died6    =    [    $deathd6,    player_died7    ] {};
  661. void()    player_died7    =    [    $deathd7,    player_died8    ] {};
  662. void()    player_died8    =    [    $deathd8,    player_died9    ] {};
  663. void()    player_died9    =    [    $deathd9,    player_died9    ] {PlayerDead();};
  664.  
  665. void()    player_diee1    =    [    $deathe1,    player_diee2    ] {};
  666. void()    player_diee2    =    [    $deathe2,    player_diee3    ] {};
  667. void()    player_diee3    =    [    $deathe3,    player_diee4    ] {};
  668. void()    player_diee4    =    [    $deathe4,    player_diee5    ] {};
  669. void()    player_diee5    =    [    $deathe5,    player_diee6    ] {};
  670. void()    player_diee6    =    [    $deathe6,    player_diee7    ] {};
  671. void()    player_diee7    =    [    $deathe7,    player_diee8    ] {};
  672. void()    player_diee8    =    [    $deathe8,    player_diee9    ] {};
  673. void()    player_diee9    =    [    $deathe9,    player_diee9    ] {PlayerDead();};
  674.  
  675. void()    player_die_ax1    =    [    $axdeth1,    player_die_ax2    ] {};
  676. void()    player_die_ax2    =    [    $axdeth2,    player_die_ax3    ] {};
  677. void()    player_die_ax3    =    [    $axdeth3,    player_die_ax4    ] {};
  678. void()    player_die_ax4    =    [    $axdeth4,    player_die_ax5    ] {};
  679. void()    player_die_ax5    =    [    $axdeth5,    player_die_ax6    ] {};
  680. void()    player_die_ax6    =    [    $axdeth6,    player_die_ax7    ] {};
  681. void()    player_die_ax7    =    [    $axdeth7,    player_die_ax8    ] {};
  682. void()    player_die_ax8    =    [    $axdeth8,    player_die_ax9    ] {};
  683. void()    player_die_ax9    =    [    $axdeth9,    player_die_ax9    ] {PlayerDead();};
  684.